package com.vhans.db.service;

import com.vhans.db.model.dto.ConditionDTO;
import com.vhans.core.web.model.dto.AgreementDTO;
import com.vhans.db.model.vo.agreement.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 聚合约起业务处理
 *
 * @author vhans
 */
public interface IBAgreementService {
    /**
     * 查看约起列表
     *
     * @param condition 条件
     * @return 约起列表
     */
    List<AgreementAllVO> listAgreementVO(ConditionDTO condition);

    /**
     * 添加约起
     *
     * @param agreement 约起
     * @param type      类型
     */
    void addAgreement(AgreementDTO agreement, Integer type);

    /**
     * 删除约起
     *
     * @param agreement 条件
     */
    void deleteAgreement(AgreementDTO agreement);

    /**
     * 修改约起
     *
     * @param agreement 约起
     * @param type      类型
     */
    String  updateAgreement(AgreementDTO agreement, Integer type);

    /**
     * 编辑约起
     *
     * @param agreement 添加
     * @return 约起
     */
    AgreementInfoAllVO editAgreement(AgreementDTO agreement);

    /**
     * 查看首页约起列表
     *
     * @param type 类型
     * @return 首页约起列表
     */
    List<AgreementHomeListVO> listAgreementHomeVO(Integer type);

    /**
     * 查看约起
     *
     * @param agreement 条件
     * @return 约起
     */
    AgreementCenterVO getAgreementAgreementById(AgreementDTO agreement);

    /**
     * 加入约起
     *
     * @param agreement 条件
     */
    String joinAgreement(AgreementDTO agreement);

    /**
     * 上传约起图片
     *
     * @param file 文件
     * @return 图片地址
     */
    String saveAgreementImages(MultipartFile file);
}
